package com.github.ecbp.user.service.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.github.ecbp.common.resp.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 后台菜单节点封装
 */
@ApiModel
@Data
public class MenuNode extends BaseVO {
    /**
     * 父级ID
     */
    @ApiModelProperty("父级菜单ID")
    private Long parentId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 前端名称
     */
    @ApiModelProperty("前端名称")
    private String name;

    /**
     * 菜单名称
     */
    @ApiModelProperty("名称")
    private String title;

    /**
     * 菜单级数
     */
    @ApiModelProperty("级别")
    private Integer level;

    /**
     * 菜单排序
     */
    @ApiModelProperty("排序")
    private Integer sort;

    /**
     * 前端图标
     */
    @ApiModelProperty("前端图标")
    private String icon;

    private Integer status;

    @ApiModelProperty("子菜单列表")
    private List<MenuNode> children;

    @ApiModelProperty("子资源列表")
    private List<ButtonNode> childButton;
}
